﻿using System;
using GeoAPI.CoordinateSystems;
using GeoAPI.CoordinateSystems.Transformations;

namespace GeoAPI
{
	public interface ICoordinateSystemServices
	{
		ICoordinateSystem GetCoordinateSystem(int srid);

		ICoordinateSystem GetCoordinateSystem(string authority, long code);

		int? GetSRID(string authority, long authorityCode);

		ICoordinateTransformation CreateTransformation(int sourceSrid, int targetSrid);

		ICoordinateTransformation CreateTransformation(ICoordinateSystem source, ICoordinateSystem target);
	}
}
